package org.mokusakura.persistence.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.mokusakura.domain.Item;

import java.util.List;

@Mapper
public interface ItemMapper {
    /**
     * @param itemId   - 待更新的item id
     * @param quantity 需要减多少数量，这个参数会使数据库中的该字段减少相应的值
     * @return 1或0
     */
    Integer updateInventoryQuantity(String itemId, Integer quantity);

    /**
     * <p>获得item的库存数量 </p>
     *
     * @param itemId - 待查询的item id
     * @return 待查询的数量
     */
    Integer getInventoryQuantity(String itemId);

    /**
     * <p>根据product id查询其所有的item </p>
     *
     * @param productId - 待查询的所有item
     * @return - item列表
     */
    List<Item> getItemListByProduct(String productId);

    /**
     * <p>根据item id查询item </p>
     *
     * @param itemId - 待查询的item id
     * @return 待查询的item
     */
    Item getItem(String itemId);

}
